GitHub Copilot
どうすか? 増井俊之.icon
ちょこちょこ助けてもらってるmrsekut.icon
え、それ教えてくれるの!?というのがたまにある
割と使えるmiyamonz.icon
脳内ではすぐに分かってるけど語句をちゃんと打つのがダルい時、だいたいちゃんと予測する
関数名ちゃんと書くと、テストすべきコードを割とちゃんと予測する
ちょっと高度な数学の問題は解けなかった
2つの円を与えて、両者に外接する接線を得る関数を書かせようとした
型はあっていたので直線は返したのだが、実際に描画してみるとずれてた
AIならこれが補完できるだろう、という予測をしながらコードを書くと生産性が上がりそう
めっちゃ良い、もう手放したくないnishio.icon
ただし間違ってることもあるので、今後は「コードを書く能力」よりも「コードを読んで間違いに気づく能力」が重要になってくるのかもしれない。
難しいアルゴリズムは出来ないけど、その「できるできないライン」に関して「Numpyで3次元ベクトルを使って視線方向の並行投影をする」は「できる」側に入っててビックリ
プログラミングという日常的な行為のフローにいつ使えなくなるかもわからない物を置きたくないので使ってないkuuote.icon
プログラミング言語の衰退を何度か経験したので「今使ってるプログラミング言語もいつ使えなくなるかわからんでしょ」という気持ちになったnishio.icon
まあプレーンなJavaScriptとかは長生きしそうだよね、Webの世界におけるC言語みたいな立ち位置だし。
プログラミング言語から作りましょうinajob.icon
難しそう
ソフトウェア開発はレイヤリングがかなりうまくいっている気がしていて、逆にいうと越境の学習コストが高い基素.icon
使えなくなるリスクの大小によりそうtakker.icon
1年後に言語Aが衰退する確率より、1年後にCopilotが使えなくなる確率のほうが大きいと判断するなら、使わない方がいい?
お試し環境を別途作ってそっちを使えばいいかな
環境作るの面倒そうだけど
Copilotが使えなくなっても使って書いたプログラムは生きてるけど、プログラミング言語(は極端なのでまあ依存しているライブラリとか)が使えなくなるとプログラムは死ぬような…nishio.icon
node-gyazzが動かせなかったのを思い出したkuuote.icon
資産の話ではなく、それに依存した習慣が付くと困るなあと考えてましたkuuote.icon
営利企業がやっていることなので突然使えなくなるということはありえない話ではない
mrsekut.iconの感覚では、Copilotはそこまで大きく依存している感じでもない
たまーに、「この補完ええやん」となる感じ
Scrapboxに例えるならリンクタイトルのサジェスト的なフィーリングだよねnishio.icondnin.icon
ほー、これ聞いてちょっと「使ってみたいな」に傾いたsta.icon
アルゴリズムの実装とかはほとんど頼ってない
繰り返し系の処理を補完してくれて、書く量減らせて嬉しいね、ぐらい
使えなくなったら自分自身がAIの変わりになるしかないんだよなmiyamonz.icon
人間にできなさそうなことを補完してるんじゃなくて、人間ならできそうなことを1秒未満で返してくる
なので、無くなってもそんな怖くはない
TabNineもそうだけど、たまに型を無視して補完することがあるのは困るmrsekut.icon mrsekut.iconの実装は「型は仕様」を割と徹底しているので、型が効くものは第一候補してほしい
簡単なものを作ると、思考を盗聴されているレベルでsuggestされる基素.icon
書こうとしたレポートの文章を盗聴されたtakker.icon
まあ実験結果の羅列とかはパターン決まってるしね
事例
https://gyazo.com/c06e1040fead7203a215b66ba24c7737
正しいnishio.icon
型はimplicit anyになってるな
https://gyazo.com/c33e60569034f4f3a14dfbd20824bb88
足場としては悪くないね、正解はnode.type === "plain"
https://gyazo.com/e91a02fb598fae3920294c517a6eb2b7
条件式は正しい、処理内容は流石に違う
https://gyazo.com/fd99924b36b9eea82a1c8660ebc6e224
正しい
僕が書いた前半にバグがあるw
https://gyazo.com/44ab3b8872828a886b1e10567acb7542
ニュアンスはあってるけど今回はそうじゃないw
https://gyazo.com/fe3f444b9ca4de6d948a6c2b8288f1fb
今やりたいのはそっちじゃない
https://gyazo.com/e197fe1e3ada968be8fa90132cba5f74
あってる
https://gyazo.com/741c30c04c3308fa33218f704c7737c1
あってる
https://gyazo.com/c198900dd110498c57fdb133edd3f397
正しいnishio.icon
https://gyazo.com/999c5fa0b89641ece55834b5655340b3
json.load以降、タブとエンターだけでできた
https://gyazo.com/ae7269a14e77aedc1a6afe8bee0283ae
cardというリストから直接添字で読んでいたコードを、まともな名前の変数にアンパックするように変えた
それとは別にこのコードの上で、いままで4項目のタプルだったものを3項目に変えている
その修正を踏まえた正しい修正案を提案して来ている、すごい
2022/6/22有料になったらしい
https://gyazo.com/29da3f4c5299b5d791bbeaa68c8afea0
利用料金は以下のいずれか
月額10ドル
年額100ドル
課金して1年様子を見よう基素.icon
放送大学生なので無料で使えるmtane0412.icon 学生なので無料で使えるtakker.icon綾坂こと.icon
最高〜〜!!
"同じファイルの別のところからコピペしてちょっと書き換える"をかなりの高精度でやってくれて嬉しい 単純作業な部分を自動でやってくれる
わかる~takker.icon
ちょっと頭使わないと書けないコードは出してくれない印象 メソッド名とかをちゃんと書けば意外と出してくれるんだろうか……? まだ使ってない自作関数を使ってほしいときに出してくれないことは多い 既にプログラミングできる人の助けにはなるが、プログラミングできない人ができるようになる魔法の道具ではなさそう
出してくるコードは「典型的なコード」「周辺のコードからのコピペ(&調整)」のどっちかな場合がほとんど
めちゃくちゃありふれた作例では例外
一定以上の規模のコードを書ける人が増えたわけではなさそう
そういう技術はもうちょっと未来まで待たないといけないかな……
Copilotは実装はできるけど設計はできないという印象Mijinko_SD.icon どうやってコードを組み立てるかは10割人の頭で考える必要がある
Mijinko_SD.icon
開発始めたばかりの時はそんなに精度良くない
開発を進めて関連するソースコードが増えてきたらわりと精度が良くなる
ソースコードが出揃っていても、グローバル変数とか自動importとか使うとそんなに良くない気がする
それっぽいメソッド名を書くと中身を勝手に補完してくれるのも魅力的